package cn.tedu.baidashi.utils;

import java.math.BigDecimal;
import java.text.DecimalFormat;

//此类为BigDecimal的计算类
public class BigDecimalUtil {

    //加

    public static BigDecimal add(double v1,double v2){
        BigDecimal bigDecimalV1=new BigDecimal(String.valueOf(v1));
        BigDecimal bigDecimalV2=new BigDecimal(String.valueOf(v2));
        return bigDecimalV1.add(bigDecimalV2);
    }
    //减
    public static BigDecimal subtract(double v1,double v2){
        BigDecimal bigDecimalV1=new BigDecimal(String.valueOf(v1));
        BigDecimal bigDecimalV2=new BigDecimal(String.valueOf(v2));
        return bigDecimalV1.subtract(bigDecimalV2);
    }
    //乘
    public static BigDecimal multiply(double v1,double v2){
        BigDecimal bigDecimalV1=new BigDecimal(String.valueOf(v1));
        BigDecimal bigDecimalV2=new BigDecimal(String.valueOf(v2));
        return bigDecimalV1.multiply(bigDecimalV2);
    }
    //除
    public static BigDecimal divide(double v1,double v2){
        BigDecimal bigDecimalV1=new BigDecimal(String.valueOf(v1));
        BigDecimal bigDecimalV2=new BigDecimal(String.valueOf(v2));
        return bigDecimalV1.divide(bigDecimalV2);
    }

    //将BigDecimal数据进行格式化为.00
    public static String formatToNumber(BigDecimal obj) {
        DecimalFormat df = new DecimalFormat("#.00");
        if(obj.compareTo(BigDecimal.ZERO)==0) {
            return "0.00";
        }else if(obj.compareTo(BigDecimal.ZERO)>0&&obj.compareTo(new BigDecimal(1))<0){
            return "0"+df.format(obj).toString();
        }else if(obj.compareTo(BigDecimal.ZERO)<0&&obj.compareTo(new BigDecimal(-1))>0){
            df = new DecimalFormat("0.00");
            return df.format(obj);
        }else {
            return df.format(obj).toString();
        }
    }
}
